Contained herein is material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent disclosure by any person as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights to the copyright whatsoever.
1. Field of the Invention
The invention relates generally to the field of transaction processing. More particularly, the invention relates to a method and apparatus for statistically distributing transactions among transaction processing systems of a virtual transaction processing center based on scheduled staffing levels and real-time observed actual positions staffed.
2. Description of the Related Art
Call centers are sites at which incoming customer phone calls, such as 800 calls, are received and answered by agents. Typically, each call center is staffed by agents associated with one or more skill groups or agents having experience with one or more types of applications/calls. In this manner, a particular call may be routed to an agent having an appropriate level of expertise for handling the call. For example, an agent might belong to a skill group that services Spanish-speaking callers and/or a group that handles English-speaking callers.
Additionally, today""s call centers are no longer centralized in a single location. As a result, enterprises must coordinate call centers across multiple physical sites. While workforce management software offers resource planning solutions, including forecasts of call volumes and arrival patterns, and staffing calculations based on desired service quality, a difficult issue in multisite call center integration is balancing call loads among multiple locations.
One of two approaches is typically employed for performing dynamic call distribution to achieve load balancing, (1) routing on an individual call-by-call basis and (2) percentage-allocation routing. In general, call-by-call routing typically involves the use of a carrier feature, such as ATandT""s Intelligent Call Processing (ICP), MCI""s Intelligent Call Router (ICR), or Sprint""s Sprint Interface to External Routing Processor (SITERP), that allows a telephone customer to which a call is destined the opportunity to select call routing terminations on a call-by-call basis. Briefly, upon receiving an incoming 800 call, for example, the carrier""s Service Control Point (SCP) server sends a route request, including various call characteristics, such as the dialed number identification service (DNIS), the calling party""s number/billing number (ANI), and/or caller entered digits (CED), e.g., account number, credit card number, social security number, or other identification number, to a route controller at the called organization""s premises. The organization""s route controller (referred to as a Customer Routing Point (CRP), a Customer Access Point (CAP), and a Customer Routing Processors (CRP) by ATandT, MCI and Sprint, respectively) provides a routing decision to the SCP based upon real-time data collected from the organization""s call centers, including handling resources (e.g., agents) at each center, call load, skills, and agent availability. Finally, the carrier routes the call to the destination indicated by the route controller.
In contrast, percentage-allocation routing does not individually process each incoming call based on real-time data to arrive at a routing decision. Rather, percentage-allocation routing refers to a mechanism that distributes calls to call centers according to preset percentage allocations associated with each of an organization""s call centers for the current time segment. Briefly,: based upon scheduled staffing levels, historical call data (e.g., call volume, average handle time), and the desired service quality for each call center, percent allocations for one or more future time segments are generated for the call centers and uploaded to the carrier network. Subsequently, routing is performed internal to the carrier network according to the preset percentages corresponding to the current time segment. ATandT""s Quick Call Allocator is an example of such a routing management service.
Having described call-by-call routing based upon real-time data and percentage-allocation routing based upon schedule data, some limitations of these prior approaches will now be illustrated with reference to FIG. 1. FIG. 1 is a graph showing scheduled and estimated staffing levels for a call center. The thin solid line 110 represents scheduled staffing levels, the thick solid line 120 represents the actual staffing level from 10:05 to 10:15, and the thick dashed line 130 represents the estimated staffing level based upon the actual staffing 120 level. According to this example, neither the schedule 110 nor the real-time prediction 130 are correct. The schedule 110 incorrectly shows the number of agents for the period of 10:05 to 10:15 since, during that time period, several agents 140 did not show up. The real-time prediction 130 for the period beginning at 10:15 incorrectly estimates the actual number of agents because it lacks knowledge regarding the scheduled increase in the number of agents at 10:15. As a result, employing percentage-allocation routing based upon the schedule data 110 overloads the call center while call-by-call routing based upon real-time prediction 130 under-utilizes the call center. Since pre-call routing products are based on real-time data only, which is independent of forecast call volume, they are by definition reactive.
A further disadvantage of the above-described call-by-call approach is the expense of implementing the solution. Call-by-call solutions have significant up-front costs for route controller hardware and software and substantial ongoing variable costs such as a service subscription with the carrier that typically includes charges for each call that is pre-routed.
In light of the foregoing, what is needed is an intelligent, cost-effective call distribution mechanism. In addition, it would be advantageous to have a pre-call routing solution that is proactive and achieves a better balance of call loads among multiple locations by more accurately predicting the actual number of agents for a future time interval.
A method and apparatus for performing staffing-based percentage-allocation routing using real-time data are described. According to one aspect of the present S invention, transaction allocation is determined using both scheduled and actual handling resources Actual handling resources associated with each of several transaction processing systems are measured at times t and t+n. Scheduled handling resources associated with each of the transaction processing systems for times t and t+n are also identified. Then, estimated handling resources are calculated for each of the transaction processing systems for time t+n based upon the actual handling resources and the scheduled handling resources. Finally, based upon the estimated handling resources, transaction allocations for each of the transaction processing systems are determined.
According to another aspect of the present invention, transactions are distributed based upon both scheduled and actual handling resources. A relationship is determined between actual handling resources and scheduled handling resources associated with each of several transaction processing systems. Based upon the relationship and scheduled handling resources at time t, estimated handling resources for each of the transaction processing systems are calculated for time t. Subsequently, transactions are caused to be distributed among the transaction processing systems based upon the estimated handling resources.
According to yet another aspect of the present invention, a virtual call center is provided. The virtual call center includes a wide area network (WAN), multiple call centers coupled to the WAN, and an allocation controller coupled to the WAN. Each of the call centers includes a transaction processing system. The allocation controller is configured to calculate allocation sets for one or more forecast periods based upon scheduled staffing levels and actual staffing level information received from the transaction processing systems. The allocation sets include percent allocations for each of the transaction processing systems. The allocation controller is additionally configured to balance call distribution among the transaction processing systems by uploading the allocation sets to an inter-exchange carrier interface.
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.